package Processing;

import javax.swing.DefaultComboBoxModel;

/**
 * Classs PikaDate dùng để lưu trữ ngày tháng năm
 * @author Admin
 */
public class PikaDate {

    /**
     * Constructor của class PikaDate
     */
    public PikaDate() {
    }

    /**
     * Biến chứa ngày
     */
    private int date;

    /**
     * Biến chứa tháng
     */
    private int month;

    /**
     * Biến chứa năm
     */
    private int year;

    /**
     * Method trả về ngày
     * @return
     */
    public int getDate() {
        return date;
    }

    /**
     * Method gán giá trị cho ngày
     * @param date
     */
    public void setDate(int date) {
        this.date = date;
    }

    /**
     * Method trả về tháng
     * @return month
     */
    public int getMonth() {
        return month;
    }

    /**
     * Method gán giá trị cho tháng
     * @param month
     */
    public void setMonth(int month) {
        this.month = month;
    }

    /**
     * Method trả về năm
     * @return year
     */
    public int getYear() {
        return year;
    }

    /**
     * Method gán giá trị cho năm
     * @param year
     */
    public void setYear(int year) {
        this.year = year;
    }


    /**
     * Method trả về số ngày dựa trên tháng
     * @param month truyền vào tháng
     * @param year truyền vào năm
     * @return trả về DefaultComboBoxModel chứa ngày
     */
    public DefaultComboBoxModel getDayByMonth(int month, int year){
        DefaultComboBoxModel combo = new DefaultComboBoxModel();
        
        switch(month){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                for (int i = 1; i <= 31; i++) {
                    combo.addElement(i);

                }
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                for (int i = 1; i <= 30; i++) {
                    combo.addElement(i);

                }
                break;
            case 2:
                if ((year - 1900) % 4 == 0) {
                    for (int i = 1; i <= 29; i++) {
                        combo.addElement(i);

                    }
                } else {
                    for (int i = 1; i <= 28; i++) {
                        combo.addElement(i);

                    }
                }

                break;
            default:
                break;
        }
        
        return combo;
    }

    /**
     * Method Này có nhiệm vụ trả về list year
     * @return DefaultComboBoxModel chứa list year
     */
    public DefaultComboBoxModel getListYear(){

        DefaultComboBoxModel year = new DefaultComboBoxModel();

        for (int i = 0; i < 100; i++) {
            year.addElement((2012-i));
        }

        return year;
    }
}
